<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Release Notes</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="Chapter 1. Geometry">
<link rel="up" href="../index.html" title="Chapter 1. Geometry">
<link rel="prev" href="examples/example_source_code__adapting_a_legacy_geometry_object_model.html" title="Example source code: Adapting a legacy geometry object model">
<link rel="next" href="aboutdoc.html" title="About this Documentation">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center"><a href="../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="examples/example_source_code__adapting_a_legacy_geometry_object_model.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="aboutdoc.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="geometry.release_notes"></a><a class="link" href="release_notes.html" title="Release Notes">Release Notes</a>
</h2></div></div></div>
<h4>
<a name="geometry.release_notes.h0"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_79"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_79">Boost
      1.79</a>
    </h4>
<p>
      <span class="bold"><strong>Major change</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/977" target="_top">977</a>
          Rescaling is turned off by default. This avoids many related bugs in set
          operations and buffer.
        </li></ul></div>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/961" target="_top">961</a>
          Added Web Mercator projection.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/966" target="_top">966</a>
          More efficient cartesian distance strategy used in simplify.
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved issues</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/956" target="_top">956</a>
          Result of simplify algorithm with incorrect closure.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/962" target="_top">962</a>
          Runtime error in R-tree deserialization due to load factor.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/971" target="_top">971</a>
          R-tree insertion time impacted by use of long double on ARM platforms.
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/936" target="_top">936</a>
          Envelope of polygon containing pole.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/948" target="_top">948</a>
          Spherical and geographic envelope for near meridian segments.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/974" target="_top">974</a>
          Spheroidal normalization utilities for NaN coordinates.
        </li>
<li class="listitem">
          Various fixes in set operations and buffer.
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h1"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_78"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_78">Boost
      1.78</a>
    </h4>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/894" target="_top">894</a>
          Optimization and refactoring of rtree queries.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/913" target="_top">913</a>
          DynamicGeometry and GeometryCollection support in various algorithms (undocumented
          for now).
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/922" target="_top">922</a>
          DynamicGeometry and GeometryCollection support in distance (undocumented
          for now).
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved issues</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/867" target="_top">867</a>
          Poor performance of rtree query iterator with nearest predicate for big
          k.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/870" target="_top">870</a>
          Compilation error in boost::geometry::self_turns.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/896" target="_top">896</a>
          Assertion failure in get_turns with BOOST_GEOMETRY_NO_ROBUSTNESS.
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/906" target="_top">906</a>
          Invalid result of buffer on macos-11 with clang-12.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/921" target="_top">921</a>
          Compilation errors with c++20 (various compilers) and gcc-5.
        </li>
<li class="listitem">
          Various fixes in set operations and buffer.
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h2"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_77"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_77">Boost
      1.77</a>
    </h4>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/812" target="_top">812</a>
          Umbrella strategies for distance and comparable_distance (undocumented
          for now).
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/840" target="_top">840</a>
          Umbrella strategies for various algorithms (undocumented for now).
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/850" target="_top">850</a>
          Introduced DynamicGeometry and GeometryCollection concepts and support
          in some algorithms (undocumented for now).
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/855" target="_top">855</a>
          Various improvements related to strategies. Default strategies are now
          included with algorithms.
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved issues</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/865" target="_top">865</a>
          Exception thrown in rtree serialization.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/439" target="_top">439</a>
          Invalid box spherical area computation.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/838" target="_top">838</a>
          Invalid result of union_().
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/851" target="_top">851</a>
          Invalid geographic disjoint segment/box result.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/861" target="_top">861</a>
          Invalid result of intersection().
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/832" target="_top">832</a>
          Fixed box spherical and geographic area computation.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/853" target="_top">853</a>
          Fixed geographic disjoint segment/box.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/866" target="_top">866</a>
          Fixed serialization of rtree containing lesser number of elements in root
          node than minimum.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/886" target="_top">886</a>
          Fixed knn rtree query bug causing it to be slow for big k.
        </li>
<li class="listitem">
          Various fixes in set operations and buffer.
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h3"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_76"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_76">Boost
      1.76</a>
    </h4>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/670" target="_top">670</a>
          New IOs to_wkt() and from_wkt() (thanks to Baidyanath Kundu).
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/756" target="_top">756</a>
          Non cartesian and robust convex hulls.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/768" target="_top">768</a>
          Umbrella strategies for relops, setops, index, buffer and more (undocumented
          for now).
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/797" target="_top">797</a>
          New azimuth() algorithm.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/801" target="_top">801</a>
          Improved accuracy in geographic area computations.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/820" target="_top">820</a>
          Parameter scale added to svg_mapper.
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/808" target="_top">808</a>
          Fixed compilation error with rtree serialization enabled (thanks to Tristan
          Carel).
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/815" target="_top">815</a>
          Fixed issue in buffer().
        </li>
<li class="listitem">
          Various fixes in set operations and buffer.
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Breaking changes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          Removed strategy convex_hull::graham_andrew.
        </li></ul></div>
<h4>
<a name="geometry.release_notes.h4"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_75"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_75">Boost
      1.75</a>
    </h4>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/726" target="_top">726</a>
          Umbrella strategies for area, envelope, expand (undocumented for now).
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/733" target="_top">733</a>
          Added example of adaptation of std::array&lt;&gt; to Point concept (thanks
          to Ben FrantzDale).
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/745" target="_top">745</a>
          constexpr added in geometries and arithmetic.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/747" target="_top">747</a>
          Added optional traits::make (undocumented for now).
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/748" target="_top">748</a>
          Modernized usage of type traits.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/759" target="_top">759</a>
          MPL_ASSERT replaced with standard static_assert.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/767" target="_top">767</a>
          Modernized usage of tuple.
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved issues</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/716" target="_top">716</a>
          Dangling proxy references.
        </li></ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          Various fixes in set operations and buffer.
        </li></ul></div>
<p>
      <span class="bold"><strong>Deprecation</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/590" target="_top">590</a>
          Boost.Geometry requires C++14.
        </li></ul></div>
<h4>
<a name="geometry.release_notes.h5"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_74"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_74">Boost
      1.74</a>
    </h4>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/720" target="_top">720</a>
          Additional R-tree constructors (thanks to Caian Benedicto).
        </li>
<li class="listitem">
          Various improvements in buffer, set and relational operations
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved issues</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/709" target="_top">709</a>
          memcpy called for object with no trivial copy-assignment
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/721" target="_top">721</a>
          Compilation error in bgi::detail::rtree::visitors::insert.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/727" target="_top">727</a>
          MSVC warning: conditional expression is constant.
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/700" target="_top">700</a>
          Missing cases for default strategies in distance algorithm.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/738" target="_top">738</a>
          Longitudes out of range in direct geodesic formulas.
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h6"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_73"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_73">Boost
      1.73</a>
    </h4>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/650" target="_top">650</a>
          Missing input combinations in intersection() and introduction of tupled-output.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/671" target="_top">671</a>
          Added d3::point_xyz geometry model (thanks to Digvijay Janartha).
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved issues</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/657" target="_top">657</a>
          Incorrect definition of EPSG3785.
        </li></ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/639" target="_top">639</a>
          R-tree exception-safety improvement.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/668" target="_top">668</a>
          Andoyer inverse formula fixed for close points.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/687" target="_top">687</a>
          Fixed dangling reference in distance algorithm.
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Deprecation</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/590" target="_top">590</a>
          Support for C++03 has been deprecated and Geometry will require C++14 from
          Boost 1.75 onwards.
        </li></ul></div>
<h4>
<a name="geometry.release_notes.h7"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_72"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_72">Boost
      1.72</a>
    </h4>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/500" target="_top">500</a>
          Karney's solution of inverse geodesic problem for internal use (thanks
          to Adeel Ahmad).
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/561" target="_top">561</a>
          New algorithm detail::calculate_point_order() for internal use.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/584" target="_top">584</a>
          Support for arbitrary dimensions in matrix_transformer (thanks to Tinko
          Bartels).
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/616" target="_top">616</a>
          Various improvements of srs::transformation, incl. support for std threading
          primitives.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/627" target="_top">627</a>
          Improved genericity of relational operations.
        </li>
<li class="listitem">
          Various improvements related to robustness of set and relational operation.
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved issues</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/557" target="_top">557</a>
          Invalid result of distance between point and linestring in spherical-equatorial
          coordinate system.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/612" target="_top">612</a>
          Invalid result of set operations in geographic coordinate system.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/619" target="_top">619</a>
          Invalid result of set operations in spherical-equatorial coordinate system.
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/479" target="_top">479</a>
          Various fixes for set operations in spherical and geographic coordinate
          systems.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/623" target="_top">623</a>
          Potential integral overflow in set and relational operations.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/632" target="_top">632</a>
          Fixed errors in generation of asymmetric one-sided buffer.
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h8"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_71"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_71">Boost
      1.71</a>
    </h4>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/568" target="_top">568</a>
          Add a constructor that takes matrix_type to matrix_transformer.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/605" target="_top">605</a>
          Improvement of handling of coordinate systems in various algorithms.
        </li>
<li class="listitem">
          Various improvements related to robustness of set and relational operation.
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved issues</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/596" target="_top">596</a>
          boost::geometry::buffer generates (multi)polygon with spike.
        </li></ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/595" target="_top">595</a>
          Fix inaccuracy in geographic point-segment distance computation.
        </li>
<li class="listitem">
          Fix various compiler warnings.
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h9"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_70"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_70">Boost
      1.70</a>
    </h4>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/526" target="_top">526</a>
          New line interpolate algorithm.
        </li></ul></div>
<p>
      <span class="bold"><strong>Solved issues</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/450" target="_top">450</a>
          Not supported negative distance in geodesic direct formulas.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/466" target="_top">466</a>
          Invalid result of spherical/geographic disjoint(box, polygon).
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/547" target="_top">547</a>
          Undefined behavior in rtree constructed with zip_iterator.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/560" target="_top">560</a>
          Inaccuracy of karney_direct formula.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/577" target="_top">577</a>
          R-tree with interprocess allocator compilation error with clang.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/579" target="_top">579</a>
          Invalid result of spherical/geographic disjoint(segment, box).
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/538" target="_top">538</a>
          Workaround for msvc-12 faulty array initialization.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/553" target="_top">553</a>
          Pass spheroid correctly in geographic comparable strategies.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/570" target="_top">570</a>
          Fix for spherical/geographic distance between geometries.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/571" target="_top">571</a>
          Fix nan result in geographic distance.
        </li>
<li class="listitem">
          Workarounds in R-tree for compilation errors with gcc-4.6 and msvc-10,
          11, 12.
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Changes in behavior</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          Different strategies expected in envelope for some combinations of geometries.
        </li></ul></div>
<h4>
<a name="geometry.release_notes.h10"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_69"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_69">Boost
      1.69</a>
    </h4>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/486" target="_top">486</a>
          Karney's solution of direct geodesic problem for internal use (thanks to
          Adeel Ahmad).
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/490" target="_top">490</a>
          Discrete Frechet and Hausdorff distance algorithms (thanks to Yaghyavardhan
          Singh Khangarot).
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/496" target="_top">496</a>
          New run-time and upgraded compile-time SRS transformation interfaces (undocumented
          for now due to potential interface changes).
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved issues</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/520" target="_top">520</a>
          Missing documentation for dsv().
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/521" target="_top">521</a>
          Wrong documentation description for distance().
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/524" target="_top">524</a>
          Fixed 'enumeration values not handled in switch' warnings.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/527" target="_top">527</a>
          Workaround for VS 2017 (msvc-15).
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/505" target="_top">505</a>
          Fixed overflow in overlay algorithms (thanks to Dane Springmeyer).
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/518" target="_top">518</a>
          Fixed passing of temporaries in append() (thanks to xventura81).
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/522" target="_top">522</a>
          Support python3 in building documentation.
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h11"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_68"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_68">Boost
      1.68</a>
    </h4>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/469" target="_top">469</a>
          Horizontal grid shift (nadgrids) in SRS transformations (undocumented for
          now due to potential interface changes).
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/478" target="_top">478</a>
          Box-Segment distance for spherical and geographic coordinate systems.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/487" target="_top">487</a>
          Missing combinations of geometries in distance for spherical and geographic
          cs
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/489" target="_top">489</a>
          Additional direct geodesic problem formulas for internal use
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved issues</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/470" target="_top">470</a>
          Assertion failure with short spherical and geographic segments.
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/471" target="_top">471</a>
          Invalid envelope of spherical polygon
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/498" target="_top">498</a>
          Unexpected results with expand() and make_inverse() for spherical and geographic
          CS
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/504" target="_top">504</a>
          Unused parameter warnings.
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/488" target="_top">488</a>
          Handle non-true-references in closing_iterator and ever_circling_range_iterator
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/pull/495" target="_top">495</a>
          VxWorks 7 cross-compilation issue.
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h12"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_67"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_67">Boost
      1.67</a>
    </h4>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          New map projection and SRS transformation representations (undocumented
          for now due to potential interface changes).
        </li>
<li class="listitem">
          New densify() algorithm.
        </li>
<li class="listitem">
          No longer using std::iterator (thanks to Daniela Engert).
        </li>
<li class="listitem">
          No longer using allocator directly in the rtree. Replaced with boost::container::allocator_traits
          (thanks to Daniela Engert).
        </li>
<li class="listitem">
          Default rtree allocator changed to boost::container::new_allocator to still
          support move semantics emulation in C++03 with boost::container::allocator_traits.
        </li>
<li class="listitem">
          Area strategies interface changed. This is potentially a breaking change.
        </li>
<li class="listitem">
          Radius or Sphere can be passed into spherical strategies.
        </li>
<li class="listitem">
          Added Point-Box and Box-Box spherical and geographic distance() strategies.
        </li>
<li class="listitem">
          Simplify (multi)polygons will discard output rings of 2 points or (for
          closed polygons) 3 points, but it tries to avoid creating those
        </li>
<li class="listitem">
          Simplify (multi)polygons will omit empty interior rings or polygons from
          output
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved issues</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://svn.boost.org/trac10/ticket/13386" target="_top">13386</a> Workaround
          for some gcc compilers
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac10/ticket/13381" target="_top">13381</a> Compile
          error with matrix_transformer in Visual C++ 2015
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac10/ticket/13436" target="_top">13436</a> Incorrectness
          in boost::geometry::model::polygon documentation
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          Add missing strategy resolving in length() algorithm, affecting Variant
          support.
        </li>
<li class="listitem">
          Simplify (multi)polygons now simplifies closing point
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Changes in behavior</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          Simplify (multi)polygons now usually rotates input rings before simplifying
          to select a non collinear point on its convex hull. This improves output.
        </li></ul></div>
<h4>
<a name="geometry.release_notes.h13"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_66"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_66">Boost
      1.66</a>
    </h4>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          Add distance for geographic PointLike/AnyGeometry.
        </li></ul></div>
<p>
      <span class="bold"><strong>Solved issues</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          <a href="https://svn.boost.org/trac10/ticket/12503" target="_top">12503</a> Validity
          of complex polygon
        </li></ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          Fixes in validity of union/intersection/difference which were sometimes
          invalid. In most cases, results are valid now.
        </li>
<li class="listitem">
          Fixes in validity of buffer which were sometimes invalid. In most cases,
          results are valid now.
        </li>
<li class="listitem">
          Fixes in results of union/intersection/difference which could be incorrect
          in very complex cases
        </li>
<li class="listitem">
          Fixes in set and relational operations for non-cartesian coordinate systems.
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h14"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_65"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_65">Boost
      1.65</a>
    </h4>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          Add correct() overload taking area strategy
        </li>
<li class="listitem">
          Add is_convex() overload taking side strategy
        </li>
<li class="listitem">
          Add missing relational operations (covered_by, crosses, equals, etc.) for
          MultiPoint/AnyGeometry
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved issues</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/12410" target="_top">12410</a>
          Lack of support of geographic coordinate system in correct()
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/13035" target="_top">13035</a>
          Wrong result of non-cartesian intersection strategies for segments near
          poles.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/13057" target="_top">13057</a>
          Wrong result of intersects() for linestrings caused by numerical issue
          in disjoint() for boxes.
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          Fix is_valid which could return false for multipolygons where an interior
          ring touches another interior ring
        </li>
<li class="listitem">
          Fix is_valid which could return false for multipolygons where a polygon
          was located in an interior ring, all touching each other
        </li>
<li class="listitem">
          Fix union which could produce invalid results (for some cases, this needs
          to define BOOST_GEOMETRY_INCLUDE_SELF_TURNS)
        </li>
<li class="listitem">
          Fix intersection (idem), but some cases are still not yet valid
        </li>
<li class="listitem">
          Fix difference (idem), but some cases are still not yet valid
        </li>
<li class="listitem">
          Fix propagation of area strategy into the internals of various algorithms
          from intersection strategy
        </li>
<li class="listitem">
          Fix uninitialized variable in relate and reference to temporary in overlay
        </li>
<li class="listitem">
          Fix error in disjoint for geographic Segment/Box
        </li>
<li class="listitem">
          Fix handling of non-cartesian geometries in various algorithms
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h15"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_64"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_64">Boost
      1.64</a>
    </h4>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          matrix transformation is now based on Boost.QVM instead of Boost.Ublas
        </li></ul></div>
<p>
      <span class="bold"><strong>Breaking changes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          ublas_transformer is renamed to matrix_transformer
        </li>
<li class="listitem">
          explicit modifier is added to constructors of rtree index::dynamic_* parameters
        </li>
<li class="listitem">
          strategy::area::huiller replaced by strategy::area::spherical
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved issues</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/363" target="_top">363</a>
          Missing includes in geometry/index/parameters.hpp
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/364" target="_top">364</a>
          within(Linear, Areal) compilation error when arguments use different point
          types
        </li>
<li class="listitem">
          <a href="https://github.com/boostorg/geometry/issues/370" target="_top">370</a>
          Buffer Seg Faults with Ring as Input
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved tickets</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11899" target="_top">11899</a>
          boost::geometry::equals doesn't handle open polygons
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11930" target="_top">11930</a>
          Inaccuracy of area::huiller strategy
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11931" target="_top">11931</a>
          Wrong spherical area with pole encircling polygons
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/12566" target="_top">12566</a>
          Ambiguous template instantiation in equal_to&lt;&gt; when pair value contains
          raw pointer
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/12861" target="_top">12861</a>
          Segmentation fault in stdlibc++ (gcc 4.8.2) affecting rtree
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/12885" target="_top">12885</a>
          Use BOOST_THROW_EXCEPTION instead of throw
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          Fix distance_measure in get_turn_info
        </li></ul></div>
<h4>
<a name="geometry.release_notes.h16"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_63"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_63">Boost
      1.63</a>
    </h4>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          Intersection: take care that output is valid (work in progres, not yet
          finished - but more is valid)
        </li></ul></div>
<p>
      <span class="bold"><strong>Solved tickets</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/12289" target="_top">12289</a>
          Avoid warning/compilation error for std::cout
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/12412" target="_top">12412</a>
          Invalid result of covered_by() with geographic Points and Boxes
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/12413" target="_top">12413</a>
          rtree::remove() not working properly with geographic Points
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h17"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_62"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_62">Boost
      1.62</a>
    </h4>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          Union: take care that output is valid (with some exceptions), also with
          self-tangent polygons or shared edges
        </li>
<li class="listitem">
          SVG: support boost::variant of geometries
        </li>
<li class="listitem">
          SVG: coordinates are now written as double (by default) to svg
        </li>
<li class="listitem">
          Rename namespace concept to concepts to avoid conflicts with the newest
          compilers
        </li>
<li class="listitem">
          New spherical intersection strategy used in relational and set operations
          for spherical and geographic Geometries (previously cartesian intersection
          strategy was used for all coordinate systems).
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved tickets</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/12189" target="_top">12189</a>
          Relational operations not compiling when point types of inputs are different
          (cartesian, affecting rtree)
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/12287" target="_top">12287</a>
          Invalid result of rtree.query() for contains() predicate
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/12342" target="_top">12342</a>
          Relational operations not compiling when point types of inputs are different
          (geographic, affecting rtree)
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h18"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_61"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_61">Boost
      1.61</a>
    </h4>
<p>
      <span class="bold"><strong>Additional functionality</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          Support within and covered_by for Box/Box in spherical and geographic coordinate
          systems.
        </li></ul></div>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          Overlay: handle_tangencies replaced by clusters, fixing many cases with
          colocated turns
        </li></ul></div>
<p>
      <span class="bold"><strong>Solved tickets</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/9162" target="_top">9162</a>
          Invalid result of relational operations for non-cartesian Point/Areal.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10866" target="_top">10866</a>
          union_ doesn't work in 1.56 and 1.57.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11018" target="_top">11018</a>
          Invalid geometry intersection
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11576" target="_top">11576</a>
          Intersection gives wrong results.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11637" target="_top">11637</a>
          Unused parameter warning.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11725" target="_top">11725</a>
          union_ fails to create holes
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11789" target="_top">11789</a>
          Assertion failure or invalid result of set operations for spherical_equatorial
          coordinate system.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11917" target="_top">11917</a>
          Andoyer distance strategy returns 0 for antipodal points (default geographic
          distance).
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11928" target="_top">11928</a>
          Improvement of the accuracy of surveyor (cartesian) area strategy.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11966" target="_top">11966</a>
          Compilation error in svg() for box and non-int coordinate type.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11984" target="_top">11984</a>
          union_() generates self-intersecting polygon
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11987" target="_top">11987</a>
          rtree::remove() not compiling for geographic CS.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/12000" target="_top">12000</a>
          Uninitialized reference in (unused) constructor of relate's mask_handler.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/12106" target="_top">12106</a>
          Invalid assertion failure in envelope() for non-cartesian very short segments.
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          Fix intersects and disjoint for Segment/Box in cartesian coordinate system
          when Segment is parallel to Box's face.
        </li>
<li class="listitem">
          Fix relation operations for Point/Areal in spherical and geographic coordinate
          systems for edge cases.
        </li>
<li class="listitem">
          Fix intersects and disjoint for Point/Box and Box/Box in spherical and
          geographic coordinate systems for some cases.
        </li>
<li class="listitem">
          Fix within and covered_by for Point/Box in spherical and geographic coordinate
          systems for some cases.
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h19"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_60"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_60">Boost
      1.60</a>
    </h4>
<p>
      <span class="bold"><strong>Solved tickets</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10803" target="_top">10803</a>
          Union algorithm returning invalid geometry
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11522" target="_top">11522</a>
          Namespace clash in buffer for traits::detail
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11533" target="_top">11533</a>
          Assert failure in rtree caused by a bug in remove() if min elements number
          is 1
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11607" target="_top">11607</a>
          Private geometry::exception::what()
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11709" target="_top">11709</a>
          is_simple segfault
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11710" target="_top">11710</a>
          is_simple - empty geometry logic
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11711" target="_top">11711</a>
          is_simple and is_valid - Points that are NaN or Infinity
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          Fix colocations of touching interior ring / exterior ring, where it also
          touches another polygon
        </li>
<li class="listitem">
          Fix removing values from an empty rtree - no effect and 0 returned instead
          of assertion failure
        </li>
<li class="listitem">
          Fix segfault in centroid for multi geometries containing empty single geometries
          (thanks to Jiri Drbalek)
        </li>
<li class="listitem">
          Fix liang_barsky strategy for integral coordinates (thanks to Dane Springmeyer)
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h20"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_59"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_59">Boost
      1.59</a>
    </h4>
<p>
      <span class="bold"><strong>Additional functionality</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          Added rtree const_iterator, begin(), end() and the support for Boost.Range.
        </li>
<li class="listitem">
          The support for C++11 <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span></code>
          in geometries models.
        </li>
<li class="listitem">
          Disjoint and intersects support the following geometry combinations: multipoint/linestring,
          multipoint/multilinestring.
        </li>
<li class="listitem">
          Added relate() and relation() algorithms.
        </li>
<li class="listitem">
          Intersection has been implemented for combinations of pointlike and linear
          geometries
        </li>
<li class="listitem">
          Added implementation for difference(pointlike, linear)
        </li>
<li class="listitem">
          New algorithm is_empty, returning true if the geometry represents the empty
          set
        </li>
<li class="listitem">
          The envelope algorithm supports pointlike and linear geometries in the
          spherical equatorial coordinate system
        </li>
<li class="listitem">
          The envelope algorithm supports pointlike geometries in the geographic
          coordinate system
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          Upgraded rtree const_query_iterator category to ForwardIterator.
        </li>
<li class="listitem">
          Buffer performance of buffers around multi-points is improved significantly
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Breaking changes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          buffer side strategy now returns error_code instead of bool. If you have
          your own custom side strategy, it should be adapted
        </li></ul></div>
<p>
      <span class="bold"><strong>Solved tickets</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11113" target="_top">11113</a>
          Support easy enumeration of all elements with BOOST_FOREACH
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11232" target="_top">11232</a>
          Feature request - relate()
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11236" target="_top">11236</a>
          Invalid result of centroid() for integer coordinate type
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11268" target="_top">11268</a>
          Regression in boost::geometry::intersection interface with multi_linestring
          and box -- does not compile on 1.57 VS 1.55
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11332" target="_top">11332</a>
          Assertion failure in buffer for extreme coordinate differences
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11346" target="_top">11346</a>
          Segment iterator does not work with ranges returning values instead of
          references
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11436" target="_top">11436</a>
          sym_difference(py1, py2, mpy) returns invalid multipolygon
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          Buffer: use a more robust way to calculate the side of an intersection,
          this fixes several errors in buffer generation
        </li>
<li class="listitem">
          Fix in selection of segment to which calculate from IP from, in intersection
          of two segments. Now is selected the one close to a segment-point point,
          or else the one on the shortest segment. This avoids (rarely occuring)
          generation of tiny triangles making output polygons invalid
        </li>
<li class="listitem">
          In rescaling round instead of truncate to the integer grid (this fix and
          the previous mentioned can have some impact on output geometries)
        </li>
<li class="listitem">
          Fix potential infinite loop in detail::has_spikes (the loop can happen
          if the points passed have NaN coordinates)
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h21"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_58"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_58">Boost
      1.58</a>
    </h4>
<p>
      <span class="bold"><strong>Additional functionality</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          New algorithm num_segments, returning the number of segments of a geometry
        </li>
<li class="listitem">
          New overload for is_valid algorithm, that takes a string reference as a
          second argument and fills it with a message related to the validity or
          invalidity of the geometry
        </li>
<li class="listitem">
          New overload for is_valid algorithm, that takes an enum reference as a
          second argument and fills it with a value related to the validity or invalidity
          of the geometry
        </li>
<li class="listitem">
          Disjoint and intersects support the following geometry combinations: point/multipoint,
          multipoint/multipoint, multipoint/segment, multipoint/box
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          Buffer now supports flat-ends for linestrings with a bend close to the
          start (such that buffered segment crosses flat-end).
        </li>
<li class="listitem">
          Buffer performance is improved significantly
        </li>
<li class="listitem">
          Partition performance is improved significantly for polygons, potentially
          enhancing all overlay operations
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved tickets</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/8379" target="_top">8379</a>
          Invalid comparison of the result of determinant
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10108" target="_top">10108</a>
          Error in overlay operations in specific cases where geometries touch at
          one point
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10201" target="_top">10201</a>
          Suggestion to use different function to compare coordinates [wontfix]
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10467" target="_top">10467</a>
          Template parameter name coliding with B0 macro name defined in termios.h
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10640" target="_top">10640</a>
          Invalid result of buffer() for CCW Polygons.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10666" target="_top">10666</a>
          MSVC compiler warning C4127: conditional expression is constant
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10747" target="_top">10747</a>
          Error in rescaling causing errors in areal/areal set operations
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10770" target="_top">10770</a>
          Buffer fails for large distances, or rough round joins, where concavities
          where not intersected properly
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10658" target="_top">10658</a>
          sym_difference yields bad result for int polygons
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10835" target="_top">10835</a>
          Difference of multilinestring and polygon yields wrong result
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10861" target="_top">10861</a>
          Rtree failing to compile for Value being a pair or a tuple containing pointer
          to Geometry and the default equal_to&lt;&gt; used
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10863" target="_top">10863</a>
          Template parameter name coliding with B0 macro name defined in termios.h
          (duplicate of 10467)
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10887" target="_top">10887</a>
          Invalid result of within() and relate() for Linear/MultiPolygon
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10890" target="_top">10890</a>
          Invalid result of disjoint() for Point/Segment.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10904" target="_top">10904</a>
          Invalid calculation of most significant Dimension of a segment in relate_cartesian_segments
          strategy
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10912" target="_top">10912</a>
          Invalid result of within() and relate() for Areal/Areal
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10951" target="_top">10951</a>
          Tests failing on windows with intel compiler due to lack of /bigobj flag.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10957" target="_top">10957</a>
          Assertion failure and invalid results of various relational operations.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10958" target="_top">10958</a>
          Invalid results of disjoint() L/L and L/A.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10959" target="_top">10959</a>
          Assertion failure in get_turns() used with no_rescale_policy.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10960" target="_top">10960</a>
          Invalid result of get_turns() for L/A, missing turn.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10961" target="_top">10961</a>
          Invalid result of get_turns() for L/A, invalid turn for a Linear spike.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11112" target="_top">11112</a>
          Compilation failure on Solaris due to a CS name clash (used for a macro
          on this platform)
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/11121" target="_top">11121</a>
          Invalid result of difference() for integral coordinates
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          Bug in multipoint/polygon multipoint/multipolygon distance computation
          (wrong detection of points inside the areal geometry)
        </li>
<li class="listitem">
          Bug in flatten_iterator's assignment operator causing an access violation
        </li>
<li class="listitem">
          Bug in Cartesian segment-segment intersection strategy when one segment
          degenerates to a point and is collinear to the other non-degenerate segment
        </li>
<li class="listitem">
          Bug in centroid(), non-deterministic result if calculated for e.g. a Polygon
          with zero-area.
        </li>
<li class="listitem">
          Bug in buffers for joins with a limited number of points
        </li>
<li class="listitem">
          Bug in buffers for round joins with limited number of points around sharp
          corners
        </li>
<li class="listitem">
          Bug in buffers for joins with large buffer distances
        </li>
<li class="listitem">
          Bug in buffers for round ends with an odd number of points
        </li>
<li class="listitem">
          Bug in buffers for flat ends with large buffer distances
        </li>
<li class="listitem">
          Bug in buffers for interior rings with large negative buffer distances
        </li>
<li class="listitem">
          Bug in closing_iterator not working properly when the input range is empty
        </li>
<li class="listitem">
          Bug in is_simple, not handling properly closed simple linestrings within
          multilinestrings
        </li>
<li class="listitem">
          Bug in rtree constructors taking a pair of Iterators or a Range (packing
          algorithm), the use of reference to destroyed temporary when Iterator's
          reference is not true reference, e.g. for some of the Range Adaptors. It
          also affects distance() and comparable_distance(). This bug may cause unexpected
          behavior of the rtree or distance() algorithm, e.g. an assertion failure
          or a SEGFAULT.
        </li>
<li class="listitem">
          Bug in rtree count() member function, the use of reference to destroyed
          temporary when object of type convertible but not the same as value_type
          or indexable_type is passed. If this happens, wrong result may be returned,
          in most cases 0.
        </li>
<li class="listitem">
          Bugs related to the handling of Ranges, preventing compilation of Geometries
          using non-Container Ranges in some algorithms (thanks to Samuel Debionne)
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h22"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_57"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_57">Boost
      1.57</a>
    </h4>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          The support of parameters convertible to value_type in rtree insert(),
          remove() and count() functions
        </li>
<li class="listitem">
          Support for counterclockwise input/output in algorithm buffer
        </li>
<li class="listitem">
          Support for open-geometry input in algorithm buffer (open output not yet
          supported)
        </li>
<li class="listitem">
          Support for degenerate input (point-like linestrings, polygons) in algorithm
          buffer
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved tickets</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/6443" target="_top">6443</a>
          Wrong degenerated hulls returned by convex_hull().
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/8402" target="_top">8402</a>
          Implicit conversion warnings
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/9354" target="_top">9354</a>
          Bug in winding strategy affecting within() and covered_by() for non-cartesian
          coordinate systems
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10177" target="_top">10177</a>
          Missing include
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10345" target="_top">10345</a>
          Distance fails to compile for some coordinate types
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10398" target="_top">10398</a>
          Wrong neighbour check in buffer, calculating turns
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10421" target="_top">10421</a>
          Invalid Point-Box distance for spherical CS
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10562" target="_top">10562</a>
          Invalid number of Points in the result of convex_hull() for open output
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10615" target="_top">10615</a>
          Rtree constructor feature request
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10643" target="_top">10643</a>
          Invalid point_on_surface() result for big coordinates
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10647" target="_top">10647</a>
          Invalid result of disjoint() in some cases when polygon is inside inner
          ring of other polygon
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10668" target="_top">10668</a>
          Implicit conversion warnings (duplicated 8402)
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          Several fixes of bugs in algorithm buffer
        </li>
<li class="listitem">
          Bug in point_on_surface() for CCW Polygons (extreme_points()) and numerical
          issue (thanks to Matt Amos)
        </li>
<li class="listitem">
          Bug in disjoint() for A/A fixed by replacement of point_on_surface() with
          point_on_border() (thanks to Matt Amos)
        </li>
<li class="listitem">
          The result of convex_hull(), duplicated Point in open output, too small
          number of Points for 1- and 2-Point input
        </li>
<li class="listitem">
          Imprecision for big coordinates in centroid(), fixed by Points translation
          (related with ticket 10643)
        </li>
<li class="listitem">
          for_each_segment() not taking into account the last segment of open Geometry
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h23"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_56"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_56">Boost
      1.56</a>
    </h4>
<p>
      <span class="bold"><strong>Additional functionality</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          New algorithm buffer for inflating/deflating geometries (buffer itself
          already existed but that was only to enlarge a box)
        </li>
<li class="listitem">
          New algorithm remove_spikes, algorithm to remove spikes from a ring, polygon
          or multi_polygon
        </li>
<li class="listitem">
          New algorithm point_on_surface, generating a point lying on the surface
          (interior) of the polygon
        </li>
<li class="listitem">
          New algorithm is_simple, returning true if a geometry is simple according
          to the OGC standard
        </li>
<li class="listitem">
          New algorithm is_valid, returning true if a geometry is valid according
          to the OGC standard
        </li>
<li class="listitem">
          New algorithm crosses for checking this spatial relation according to the
          OGC standard
        </li>
<li class="listitem">
          The set operation algorithms (difference, intersection, sym_difference
          and union_) now support as input pairs of pointlike or linear geometries
        </li>
<li class="listitem">
          The distance and comparable_distance algorithms now support all pairs of
          geometry combinations
        </li>
<li class="listitem">
          The spatial relations which didn't support it (covered_by, touches, within,
          etc.) now support as input linear and/or areal geometries
        </li>
<li class="listitem">
          The support for boost::variants as input geometries in various algorithms
        </li>
<li class="listitem">
          The rtree support for indexing segments
        </li>
<li class="listitem">
          The rtree nearest() predicate support for arbitrary geometries
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Improvements</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          The rtree pack-creation algorithm optimization (thanks to Lu Wang)
        </li></ul></div>
<p>
      <span class="bold"><strong>Solved tickets</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/8310" target="_top">8310</a>
          Wrong results with overlapping polygons (fixed using point_on_surface for
          disjoint)
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/8375" target="_top">8375</a>
          sym_difference of non-closed polygons returns closed polygon
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/8376" target="_top">8376</a>
          difference of non-closed polygons returns closed polygon
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/9081" target="_top">9081</a>
          Booleans create self-intersecting polygons from non-self-intersecting polygons
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/9245" target="_top">9245</a>
          Check for process errors in make_qbk.py
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/9563" target="_top">9563</a>
          (Sym)difference not successful, fixed by rescaling to robust type
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/9628" target="_top">9628</a>
          Wrong result of within() due to the winding strategy not working correctly
          for nearly-horizontal segments
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/9828" target="_top">9828</a>
          boost::geometry::union_(...) creates redundant closing point
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/9871" target="_top">9871</a>
          Remove spike in polygon with only a spike
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/9941" target="_top">9941</a>
          Add support for touches(box, box)
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/9947" target="_top">9947</a>
          Missing info about WKT in documentation
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/9759" target="_top">9759</a>
          Invalid results of R-tree knn queries for non-cartesian coordinate systems
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10019" target="_top">10019</a>
          Difference of Linestring and Box returns their intersection
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10077" target="_top">10077</a>
          Wrong types in concept checks in boost/geometry/arithmetic/arithmetic.hpp
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/10234" target="_top">10234</a>
          Wrong results of covered_by() for nearly-horizontal segments
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          intersects(polygon) could return a self-intersection-point for its closing
          point, fixed
        </li>
<li class="listitem">
          equals() could return invalid results for non-simple linear geometries
          according to the OGC standard, fixed
        </li>
<li class="listitem">
          touches() didn't work properly for CCW areal geomtries, fixed
        </li>
<li class="listitem">
          rtree nearest queries returned wrong elements for non-cartesian coordinate
          systems, fixed
        </li>
<li class="listitem">
          rtree crashed in some cases when used with Interprocess allocator, fixed
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h24"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_55"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_55">Boost
      1.55</a>
    </h4>
<p>
      <span class="bold"><strong>Additional functionality</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          Added centroid for segment type
        </li>
<li class="listitem">
          Added intersects() and disjoints() for Segment-Box and Linestring-Box
        </li>
<li class="listitem">
          Added rtree creation using packing algorithm
        </li>
<li class="listitem">
          Added contains() and covers() spatial query predicates
        </li>
<li class="listitem">
          Added iterative queries
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Documentation</strong></span>
    </p>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          In some cases .back() or .clear() was called, violating the usage of Concepts.
          Fixed for the reported cases
        </li>
<li class="listitem">
          Use consistent side information in cart_intersect and get_turn_info and
          handle_tangencies and enrich_intersection_info. This is done by switching
          to integer (if necessary) for the specific 6 points only, zooming in on
          the 4 or 3 segments
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved tickets</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/6958" target="_top">6958</a>
          Intersection generates self-intersection. Caused by spike, fixed
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/8364" target="_top">8364</a>
          Invalid input exception, caused by spikes in previous steps, fixed
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/8365" target="_top">8365</a>
          Invalid input exception, caused by spikes in previous steps, fixed
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/8969" target="_top">8969</a>
          boost::geometry::model::point single argument constructor should be explicit
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/8825" target="_top">8825</a>
          Patch adding member variable documentation to doxygen_xml2qbk
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/8652" target="_top">8652</a>
          Intersection fails for triangle-triangle intersection. Caused by spike,
          fixed
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/9047" target="_top">9047</a>
          Boost files that include themselves (strategies/intersection.hpp), fixed
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Internal changes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          Adapted projected_point&lt;&gt; distance strategy, point-type in template
          is replaced by calculation-type
        </li>
<li class="listitem">
          Adapted transform strategies, they have points now as member-template,
          and calculation-type as template. Similar to what was done for projected_point
          distance
        </li>
<li class="listitem">
          Spikes (could be generated in difference) in integer-based overlays are
          now avoided during generation
        </li>
<li class="listitem">
          Cleanup, removed old MSVC2005 project files
        </li>
<li class="listitem">
          R*-tree balancing algorithm optimized
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h25"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_54"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_54">Boost
      1.54</a>
    </h4>
<p>
      <span class="bold"><strong>Additional functionality</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          added Spatial Index, developed for Boost.Geometry by Adam Wulkiewicz. The
          spatial index was originally started by Federico J. Fernandez during the
          Google Summer of Code 2008 program, mentored by Hartmut Kaiser.
        </li>
<li class="listitem">
          added SVG-output, this was already in extensions for several years
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Documentation</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          small fixes of missing words
        </li>
<li class="listitem">
          fixes in doc of template parameters (convex_hull, exterior_ring, return_buffer)
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          collinear opposite segments did sometimes (in circles) have a robustness
          issue, fixed
        </li>
<li class="listitem">
          fixed insertion of false intersection point (found by buffer)
        </li>
<li class="listitem">
          applied patch of Vladimir Petrovic for debugging traversals
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved tickets</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/7462" target="_top">7462</a>
          degenerate union result for float, fixed
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/7465" target="_top">7465</a>
          wrong construtors access type in scale_transformer class, fixed
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/7802" target="_top">7802</a>
          cart_intersect.hpp unused parameter warnings, fixed
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/8254" target="_top">8254</a>
          faulty intersection, fixed
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/8393" target="_top">8393</a>
          polygon model doesn't adhere to stated Polygon concept rules, doc updated.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/8403" target="_top">8403</a>
          silenced compiler warning C4127: conditional expression is constant
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/8405" target="_top">8405</a>
          silenced compiler warning C4189: '...' : local variable is initialized
          but not referenced
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Internal changes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          Made several algorithms variant-aware (append, area, clear, convert, equals,
          length, num_points)
        </li></ul></div>
<h4>
<a name="geometry.release_notes.h26"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_53"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_53">Boost
      1.53</a>
    </h4>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          avoid generating output polygons with interior rings below minimum size
          (e.g. one or two points)
        </li>
<li class="listitem">
          <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">disjoint</span></code> for degenerate segments (patched
          by Karsten Ahnert)
        </li>
<li class="listitem">
          problem in <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">difference</span></code> for missing handling tangency,
          reported by H2
        </li>
<li class="listitem">
          fixed <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">for_each</span></code> for use with Lambda's
        </li>
<li class="listitem">
          fixed <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">comparable_distance</span></code> point-linestring
          (and -range, -polygon)
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Additional functionality</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          combinations for <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">disjoint</span></code>:
          point/ring, point/polygon, point/multi_polygon
        </li>
<li class="listitem">
          combinations for <code class="computeroutput"><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">intersects</span></code>:
          point/ring, point/polygon, point/multi_polygon
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Internal changes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          updates in specializations/not_implemented for various algorithms (as in
          an earlier version, these changes are still going on; they take care for
          simplified structs, better error reporting, and automatized documentation)
        </li>
<li class="listitem">
          fixes in unit tests
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h27"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_51"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_51">Boost
      1.51</a>
    </h4>
<p>
      <span class="bold"><strong>Breaking changes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          points accessed through a pointer (e.g. in a linestring) should now be
          specialized without the pointer. In previous versions a type <code class="computeroutput"><span class="identifier">my_point</span></code> used like <code class="computeroutput"><span class="identifier">linestring</span><span class="special">&lt;</span><span class="identifier">my_point</span><span class="special">*&gt;</span></code> had to be specalized like: <code class="computeroutput"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
          <span class="keyword">struct</span> <span class="identifier">tag</span><span class="special">&lt;</span><span class="identifier">my_point</span><span class="special">*&gt;</span></code>. Now the library itself removes the
          pointer before calling the traits class, so now it should be like: <code class="computeroutput"><span class="keyword">template</span><span class="special">&lt;&gt;</span>
          <span class="keyword">struct</span> <span class="identifier">tag</span><span class="special">&lt;</span><span class="identifier">my_point</span><span class="special">&gt;</span></code>
        </li></ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          intersection was sometimes wrong for integer points, fixed
        </li>
<li class="listitem">
          documentation, order of parameters in simplify was wrong, fixed
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved tickets</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/7030" target="_top">7030</a>
          spherical distance, fixed (by patch of Karsten Ahnert)
        </li></ul></div>
<h4>
<a name="geometry.release_notes.h28"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_50"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_50">Boost
      1.50</a>
    </h4>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          the return type of comparable projected point strategy for integer points
          was wrong (integer), fixed
        </li>
<li class="listitem">
          several robustness issues in intersection of segments and polygons, fixed
        </li>
<li class="listitem">
          invalid intersection output is filtered out
        </li>
<li class="listitem">
          disjoint for multi_polygon's might incorrectly return true, fixed
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved tickets</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/6585" target="_top">6585</a>
          patch for alternative syntax multipoint, applied
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/6584" target="_top">6584</a>
          patch for bug in distance, applied
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/5730" target="_top">5730</a>
          same issue as 6584, fixed
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/6166" target="_top">6166</a>
          patch for missing transformation, applied
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/6696" target="_top">6696</a>
          invalid intersection output, was (by chance) already fixed in Trunk before
          reported
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Additional functionality</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          added algorithm "touches" (OGC SF compliant) for *polygon/*polygon
        </li></ul></div>
<h4>
<a name="geometry.release_notes.h29"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_49"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_49">Boost
      1.49</a>
    </h4>
<p>
      <span class="bold"><strong>Breaking changes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          point_xy was accidentally included in one of the headerfiles. If the point_xy
          class is used, it should be included explicitly now.
        </li></ul></div>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          bugfix: distance for multi-geometries ignored specified distance strategy.
          Fixed
        </li>
<li class="listitem">
          bugfix: difference for polygon/multi_polygon (reported 2011/10/24 on GGL-list)
        </li>
<li class="listitem">
          bugfix: raise exception for calculation of distances of multi-geometrie(s)
          where one of them is empty
        </li>
<li class="listitem">
          bugfix: multi DSV did not correctly use settings, fixed
        </li>
<li class="listitem">
          bugfix: self-intersections could sometimes be missed (introduced in 1.48),
          fixed
        </li>
<li class="listitem">
          bugfix: convex hull crashed on empty range (e.g. empty multi point), fixed
        </li>
<li class="listitem">
          bugfix: area/centroid/side/intersection/distance did not work for "int"
          type filled with large (but not overflowing) integers. Fixed.
        </li>
<li class="listitem">
          bugfix: disjoint/intersect did not work for degenerate linestrings. Fixed.
        </li>
<li class="listitem">
          bugfix: covered_by did not compile for a ring. Fixed.
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved tickets</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/6019" target="_top">6019</a>
          convex_hull / area, fixed.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/6021" target="_top">6021</a>
          convex_hull / append (multipoint), fixed.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/6028" target="_top">6028</a>
          Documentation: closure, fixed.
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/6178" target="_top">6178</a>
          Missing headerfile, fixed.
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Additional functionality</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          support for line/polygon intersections and differences
        </li>
<li class="listitem">
          support for convert of segment/box of different point types
        </li>
<li class="listitem">
          support for append for multi point
        </li>
<li class="listitem">
          the scalar function distance now throws an empty_input_exception on empty
          input
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Documentation</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          updated support status in several algorithms
        </li>
<li class="listitem">
          updated conformance to OGC or std
        </li>
<li class="listitem">
          other updates and fixes
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Internal changes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          updates in specializations/not_implemented for distance/convert/assign/area/with/covered_by
        </li>
<li class="listitem">
          move of wkt/dsv to io folder, making domains redundant
        </li>
<li class="listitem">
          warnings: strategy concepts assigned to zero to avoid clang warnings (patched
          by Vishnu)
        </li>
<li class="listitem">
          warnings: there were several unused parameters, for which gcc/clang warned
          (patched by Christophe)
        </li>
</ul></div>
<h4>
<a name="geometry.release_notes.h30"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_48"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_48">Boost
      1.48</a>
    </h4>
<p>
      <span class="bold"><strong>Bugfixes</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          Robustness issue, in some circumstances the union failed to output. Fixed.
        </li>
<li class="listitem">
          Robustness issue, in some circumstances the calculated intersection point
          was outside the segment. Fixed.
        </li>
<li class="listitem">
          Concept issue, cartesian intersect didn't understand segments other than
          the provided one. Fixed.
        </li>
<li class="listitem">
          Sometimes self-intersections in linestrings were missed. Fixed.
        </li>
<li class="listitem">
          The fusion coordinate system was not registered correctly. Fixed.
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Solved tickets</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/5726" target="_top">5726</a>
          Segment intersection algorithm still assumes 'first', 'second' members
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/5744" target="_top">5744</a>
          Mistake in fusion adapt example
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/5748" target="_top">5748</a>
          Needed to include &lt;boost/foreach.hpp&gt;
        </li>
<li class="listitem">
          <a href="https://svn.boost.org/trac/boost/ticket/5954" target="_top">5954</a>
          distance_pythagoras skips sqrt() step
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Improvements on algorithms</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          Checking self-intersections is now not done automatically, this can blast
          performance.
        </li>
<li class="listitem">
          Besides that, checking self-intersections is made faster.
        </li>
<li class="listitem">
          Intersections now avoid outputting duplicate points. So they output the
          minimal set.
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Additional algorithms</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          covered_by: within is defined as "within, not on boundary". covered_by
          is "within or on boundary"
        </li></ul></div>
<p>
      <span class="bold"><strong>Additional functionality</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
          within: strategies can now be specified for within&lt;point, box&gt; and
          within&lt;box, box&gt;
        </li>
<li class="listitem">
          convert: a much broader range of conversions is supported
        </li>
<li class="listitem">
          assign: idem, (currently partly) synonym for convert (but reversed arguments)
        </li>
</ul></div>
<p>
      <span class="bold"><strong>Additional coordinate types</strong></span>
    </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
          Basic (limited) support for Boost.Rational
        </li></ul></div>
<h4>
<a name="geometry.release_notes.h31"></a>
      <span class="phrase"><a name="geometry.release_notes.boost_1_47"></a></span><a class="link" href="release_notes.html#geometry.release_notes.boost_1_47">Boost
      1.47</a>
    </h4>
<p>
      Original release
    </p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2009-2021 Barend Gehrels,
      Bruno Lalande, Mateusz Loskot, Adam Wulkiewicz, Oracle and/or its affiliates<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="examples/example_source_code__adapting_a_legacy_geometry_object_model.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="aboutdoc.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
